Mosaic program guide

ABSTRACT

Various implementations provide a block-based program guide screen. In one particular implementation, a request is received. The request is to present a program guide on a display. The program guide provides information about programs that are available on multiple channels. In response to receiving the request, a program guide screen is provided. At least a portion of the provided program guide screen is visually divided in both a horizontal direction and a vertical direction into multiple sections. The multiple sections each includes information about programs available on respective distinct channels. In another implementation, the program guide screen is generated and provided. In another implementation, a signal or signal structure includes a program guide screen section conveying the program guide screen.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of (i) U.S. provisional applicationNo. 61/730,641, filed Nov. 28, 2012, and titled “Method and Apparatusfor Auto-Tuning Program Guides”, (ii) PCT application No.PCT/US12/057166, filed Sep. 26, 2012, and titled “User Interfaces forContent Distribution Systems”, and (iii) PCT application No.PCT/US12/054744, filed Sep. 12, 2012, and titled “Method and Apparatusfor QAM Modulator Channel Duplication”. The contents of each of thesebenefit applications are incorporated by reference herein for allpurposes.

TECHNICAL FIELD

Implementations are described that relate to providing program guideinformation. Various particular implementations relate to providingprogram guides for a hospitality context.

BACKGROUND

Program guides are typically provided for most video distributionsystems that provide a variety of programs for consumption on one ormore available channels. The program guides provide information aboutthe programming on the available channels. Users typically access aprogram guide to help make a viewing decision.

SUMMARY

According to a general aspect, a request is received. The request is topresent a program guide on a display. The program guide providesinformation about programs that are available on multiple channels. Inresponse to receiving the request, a program guide screen is provided.At least a portion of the provided program guide screen is visuallydivided in both a horizontal direction and a vertical direction intomultiple sections. Each of the multiple sections includes informationabout programs available on respective distinct channels.

According to another general aspect, a program guide screen isgenerated. At least a portion of the program guide screen is visuallydivided in both a horizontal direction and a vertical direction intomultiple sections. Each of the multiple sections includes informationabout programs available on respective distinct channels. A signal isprovided that conveys the program guide screen.

According to another general aspect, a signal or signal structureincludes a program guide screen section. The program guide screensection conveys a program guide screen for which at least a portion isvisually divided in both a horizontal direction and a vertical directioninto multiple sections. Each of the multiple sections includesinformation about programs available on respective distinct channels.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Even if described inone particular manner, it should be clear that implementations may beconfigured or embodied in various manners. For example, animplementation may be performed as a method, or embodied as anapparatus, such as, for example, an apparatus configured to perform aset of operations or an apparatus storing instructions for performing aset of operations, or embodied in a signal. Other aspects and featureswill become apparent from the following detailed description consideredin conjunction with the accompanying drawings and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 provides a block diagram depicting an implementation of a systemfor providing program guides.

FIG. 2 provides a screen shot of a first implementation of a programguide.

FIG. 3 provides a screen shot of a second implementation of a programguide.

FIG. 4 provides a flow diagram of an implementation of a process forproviding a program guide screen in response to receiving a request.

FIG. 5 provides a flow diagram of an implementation of a process forgenerating and providing a program guide screen.

FIG. 6 provides a screen shot of a third implementation of a programguide.

FIG. 7 provides a screen shot of an implementation of a banner providingprogram guide information for a current channel.

DETAILED DESCRIPTION

Various implementations provide an alternative to a traditional programguide, with the alternative being aimed at the perceived needs of theaverage guest of a hotel or similar establishment. In variousimplementations, an alternative is provided to a traditionalline-oriented program guide. The line-oriented program guide typicallyprovides a view of programming for multiple hours, and frequentlymultiple days or weeks, into the future, with each channel occupying anentire line of the program guide. In contrast, various describedimplementations provide a mosaic-based approach that provides anavigable block-based listing.

A mosaic is used to refer to a display presentation that includesblocks, also referred to as tiles, with each block providing programminginformation for a separate channel. The mosaic display presentationgenerally includes multiple blocks in each of two directions, such as,for example, a horizontal direction and a vertical direction.

In several implementations, the block-based listing provides thefollowing basic information that is typically desired by a user, suchas, for example, a hotel guest, a student housing resident, or a seniorliving or assisted living resident:

-   -   Channel Number    -   Broadcaster Logo    -   What is playing “Now”    -   What is playing “Next”

Note that the information identifying what is playing “now” and “next”is provided, in several implementations, by the Program and SystemInformation Protocol (“PSIP”) or another protocol for transmittingprogram information. PSIP is typically defined as the protocol used inthe Advanced Television Systems Committee (“ATSC”) digital televisionsystem for carrying metadata about each channel in a broadcast MovingPicture Experts Group (“MPEG”) transport stream of a television (“TV”)station, and for publishing information about television programs sothat viewers can select what to watch by title and description.

Navigation in various implementations uses the traditional arrow keys ona remote control. In various implementations, a user uses these keys tomove a highlight box to a block of the mosaic that lists the programthat the user wants to watch. The user then provides an input toimmediately move to the channel that is showing the desired program. Theinput is, in various implementations, for example, an input providedthrough a remote control. Various implementations using a remote controlallow the user to provide the input, for immediately moving to thehighlighted channel, by allowing the user to press, for example, an“enter” key, a “go” key, or an “OK” key on the remote control.

Various implementations described in this application provide solutionsthat address one or more of a variety of problems. One such problemarises from the fact that many program guide systems need to be able torender a different guide for each room or TV at the property, at thesame time. This problem arises, at least in part, due to the facts that(i) the system provides a guide that is oriented around the currentchannel being viewed, and (ii) the system does not know what channelwill be the channel currently being viewed when the guest starts a guidesearch. To be able to provide a different guide for each TV requireslarge bandwidth and processing power at the headend in addition to backchannel communication.

Various implementations described in this application address thisproblem by, for example, analyzing what pieces of information are mostuseful to the average user. Several such implementations allow arendering of fewer guide pages because the guide is started at aselected set channel instead of at the channel to which the guest istuned when the guest presses “guide” on the remote. This reduces boththe bandwidth needed, as well as the processing power needed, at theheadend. Two example renderings are discussed below with respect toFIGS. 2 and 3.

Various implementations also include video mosaics that display livevideo in a mosaic format with box navigation. Providing live video hascertain advantages. However, particular implementations avoid theinclusion of live video in order, for example, to reduce bandwidth andprocessing power requirements, to reduce delays to the user, and/or toavoid the expense of additional headend equipment that is frequentlyneeded to provide the video mosaic. Such delays arise, for example,because when the live video displays commercials the user cannottypically determine what program is playing on that channel and so mustwait until the commercial is finished.

Referring to FIG. 1, a content distribution system 100 is provided. Thesystem 100 is representative of many environments that include many morevideo display devices, such as, for example, TVs, than receivers. Hotelsare a prime example of such an environment, but other examples include,without limitation, student housing, and senior living.

The system 100 includes a single receiver 110 and multiple TVs 120. Thereceiver 110 is part of the “headend” and is configured to send channelinformation to the TVs 120. Each of the TVs 120 is typically located inindividual rooms at a facility such as a hotel or motel.

The system 100 includes a satellite receiver 130, and variousimplementations of the receiver 110 are capable of tuning andtranscrypting up to 24 satellite channels. Transcrypting refers, forexample, to receiving a signal and changing the modulation to besuitable for wide distribution, for example, with in a property (suchas, for example, a hotel, a dormitory, and/or a campus environment). Thesatellite signal is tuned and demodulated in the receiver 110. Thereceiver 110 produces an MPEG-2 transport stream having packets, forexample, user datagram protocol (“UDP”) packets. The packets containdata and video programming to be distributed. The transport stream isthen IP-encapsulated using standard Internet protocols and Internet RFCs(Requests for Comment) and is sent out of the receiver 110 using anEthernet interface.

The receiver 110 of various implementations also includes a processorand a memory (not shown). The processor is used to generate programguide still images that are provided as a program guide to the TVs 120.The processor of these implementations also updates the program guidestill images regularly to reflect new programming information. Thegenerated program guide still images are, in various implementations,stored in the memory.

The system 100 includes a modulator 140, which is also typically part ofthe headend. In various implementations, the modulator 140 is aQuadrature Amplitude Modulation (“QAM”) modulator, and the modulator 140performs transcrypting. In several such implementations, the dataleaving the receiver 110 is in a format suitable for input to an edgeQAM device or for distribution on an IPTV network.

The distribution to an IPTV network is not shown in FIG. 1. However, invarious implementations, the signal for an IPTV network is provided fromthe modulator 140 to a switched network through a converter thatgenerates an IP signal from the signal provided by the modulator 140.Additionally, in many of these implementations, at the receiving end,another converter is typically used to convert the IP signal back to asignal that the TVs can use, or an IP tuner is used in the TVs.

In various implementations, the broadcast video encoding format (forexample, MPEG-2 or MPEG-4 compression) is preserved for both QAM inputand IPTV distribution. Additionally, the output transport stream isencrypted using any of a variety of different encryption standards, suchas, for example, the Pro:Idiom encryption standard.

The modulator 140 modulates the MPEG-2 transport stream. In variousimplementations, the modulator 140 modulates the MPEG-2 transport streamon one of twelve carrier frequencies. Other implementations use adifferent number of carrier frequencies, either more or less, and evenadaptable. The number of carrier frequencies does not limit the numberof transport streams.

In typical implementations, each input stream corresponds to a programchannel, which results in an output modulated channel. The outputmodulated channel is combined, by the modulator 140, with all othermodulated channels provided from the modulator 140 and output over acoaxial cable distribution system 150, shown in FIG. 1 as a splitter, toeach individual TV location.

FIG. 1 also includes a PC (personal computer) web browser 160. The webbrowser 160 is used for configuration of the receiver 110, as is typicalin the art. Other implementations use a web browser that is in a deviceother than a personal computer, such as, for example, a cell phone or atablet.

Although not shown in FIG. 1, some implementations include a set-top boxwith one or more of the TVs 120 in, for example, individual rooms. SuchSTBs are useful, for example, if the TV cannot process the receivedsignal directly. This occurs, for example, if the TV cannot decrypt ordecode the signal.

It is important to note that the pseudo-interactive guide is generatedat the video distribution headend, which in FIG. 1 includes the receiver110, and the modulator 140. Further, the guide is navigated at, forexample, the individual TVs or set-top boxes. The user does nottechnically interact with a guide generated in the receiver 110. Guidenavigation keys of, for example, a remote control, actually tune tosub-channels, for example, QAM sub-channels from the modulator 140,displaying guide data still images. Navigating the still images createsthe illusion of an interactive guide for the user.

In other words, instead of generating an interactive guide interfacewithin a receiver, every static image that is part of the guide isrendered in the headend. The headend distributes each guide still on aseparate sub-channel to each of the receivers (for example, the TVs orset-top boxes).

The guide stills can be mapped across sub-channels in a predetermined,fixed manner, or the headend can direct the receivers (for example, theTVs or set-top boxes) to recognize the guide stills with, for example,channel identifiers or management services commands. After the mappingis determined, there is no need in various implementations for a backchannel (providing communication from the receiver to the headend) forthe receiver to navigate the guide. Additionally, changes to the guidedata channel mapping can be communicated along the front channel fromthe headend. For example, if a program channel is re-mapped to anotherchannel number, then the corresponding program guide still images wouldbe recreated. The re-mapping would later be reflected to the user whenthe modified program guide still images are displayed in response to theuser requesting program guide information. In various implementations,the creation of program guide still images is automated based on areceived mapping.

When a user of an in-room receiver presses the “guide” key command of aremote control, the receiver tunes to the modulated channel (forexample, QAM sub-channel) displaying the guide data (a still image)corresponding with the currently tuned channel. While the receiver isdisplaying a guide data channel, navigation key presses tune to otherchannels containing the corresponding guide data still images.

As discussed earlier, systems that try to replicate a traditionalProgram Guide are typically faced with the challenge of providing alarge number of static images representing all of the portions of thetraditional Program Guide. That is, information about all of thechannels and across all available time periods. As discussed earlier,the portion of the traditional Program Guide that each user in each roomwishes to view is unknown, and often differs between users. This canresult in a requirement for large bandwidth between the headend and theTVs, as well as large processing power requirements at the headend.

The pseudo-interactive guide of various implementations described inthis application addresses one or more of these issues. Morespecifically, various implementations modify the traditional ProgramGuide so that the modified guide meets the perceived needs of theaverage viewer. For example, as discussed above, instead of thetraditional line-based view with visibility for multiple hours ahead,the Mosaic-based approach of the various implementations provides anavigable block-based listing providing basic information needed by theguest.

Referring to FIG. 2, a screen shot 200 of a particular implementation isprovided. The screen shot 200 displays a screen from a program guide.The screen shot 200 includes three principal sections, including aprovider section 210, a program section 220, and an additional channelsection 230.

The provider section 210 includes an indication of the provider. In thecase of FIG. 2, the provider of the programming and the program guide isDirecTV, and the television system is installed in a Hilton facility.

The program section 220 includes a mosaic of sixteen blocks or tiles,arranged in four rows of four blocks. Each block represents a differentprogramming channel, and includes information about that programmingchannel. The lower right block 240 is typical, and includes a channelname and/or logo 242, a channel number 244, a Playing Now identifier246, and a Playing Next identifier 248.

The channel name and/or logo 242 provides the name and/or logo of aparticular programming channel. The channel number 244 provides thenumeric value of the particular programming channel. The Playing Nowidentifier 246 provides the name of the program that is currentlyplaying on the particular programming channel. The Playing Nextidentifier 248 provides the name of the program that will be playingnext on the particular programming channel.

For the block 240, the channel name and/or logo 242 is The WeatherChannel, the channel number 244 is channel 34, the Playing Nowidentifier 246 is the program titled “Day Planner”, and the Playing Nextidentifier 248 is the program titled “Weather by the Billions”. Theother fifteen blocks in the screen shot 200, from left to right, and topto bottom, have the information shown in Table 1:

TABLE 1 Channel Name Channel Number Playing Now Playing Next ABC 2 6News at Noon One Life to Live CBS 3 WISH-TV 8 The Young and News theRestless NBC 4 Eyewitness New Days of our Lives FOX 6 The Steve JerrySpringer Wilkos show ESPN 12 SportsCenter SportsCenter ESPN 2 13 ESPNFirst Take Best of Mike and Mike HBO 14 Just Married Life as We Know ItHBO Family 15 Marmaduke All Dogs go to Heaven 2 The History 20 BigShrimpin' American Channel Pickers The Discovery 21 American MythbustersChannel Chopper TBS 22 Yes Dear American Dad TLC 23 What Not to Say Yesto Wear the Dress FOX News 30 Studio B Your World Channel CNN 32 CNNNewsroom CNN Newsroom MSNBC 33 Martin Bashir The Dylan Ratigan Show

The screen shot 200 also includes a highlight box 250 that indicates thechannel that a user may be interested in viewing. In FIG. 2, thehighlight box 250 is drawn around the second block from the left in thesecond row of the program section 220. The highlight box 250 in FIG. 2indicates that channel 13 is currently highlighted. The system providesthe additional functionality of allowing a user to select thehighlighted channel for viewing. In various implementations, if the userpresses “enter” on the remote control, the TV will navigate to thehighlighted channel. That is, the TV will tune to channel 13, which isESPN 2 in FIG. 2.

In a typical operation of the screen shot 200, a user would press aguide button on a remote control in a hotel room. A TV in the hotel roomwould then tune to a set guide channel, pre-determined at the headend.To the guest, it would look like the guide, such as the screen shot 200,was just provided in response to the request. However, if the system 100is being used, the guide would have been provided to the TV all along,and the TV would simply not have displayed it until the guide button waspressed.

The guest would use the arrow keys on the remote to navigate to theirdesired channel or to the next page of program information. For example,the guest would navigate among the blocks of the screen shot 200 usingthe arrow keys of the remote control. The block that is currentlyselected will have the highlight box 250 around it. Each block presentsthe guest with the basic information to allow the guest to make aninformed decision about whether to select that channel for viewing.After the guest selects the desired channel, the guest presses a keysuch as, for example, “enter” on the remote control, and the TV tunes tothe selected channel.

The guest is presented with information that has been determined to beuseful for a typical guest. This information is the channel name and/orlogo, the channel number, the name of the program currently playing onthe channel, and the name of the program playing next on the channel. Inmany circumstances, a typical guest can make a viewing decision based onone or more of these pieces of information. These pieces are oftenuseful for one or more of the following reasons:

-   -   The channel name and/or logo is often useful because the guest        will often recognize the channel name and/or logo, and be able        to make a viewing decision based, at least in part, on the        channel name and/or logo. For example, guests staying at a hotel        might not recognize “channel 34” because channel numbers are        assigned locally, but would be more likely to recognize, for        example, “CBS” or “ESPN” or the logo for the Disney Channel or        the logo for the Cartoon Network.    -   The name of the program currently playing is often useful        because the guest is frequently interested in viewing a program        immediately.    -   The name of the program playing next is often useful because the        guest often is interested in viewing a program when it begins,        but without waiting long. Additionally, a guest is often        interested in finding a particular program that is starting        soon, such as, for example, a football game. Displaying the name        of the program playing next on each channel allows the guest to        quickly scan the channels to find the channel(s) that will be        displaying the game.

Conversely, guests typically are not interested in making a viewingdecision based on what is playing beyond the next program. For thatreason, most implementations do not identify more than one futureprogram for a given channel. Such systems avoid clutter and allow aguest to focus on useful information.

Additionally, the guest is often aided in making a viewing decision byhaving the information for the different channels organized in a mosaic,as in FIG. 2. Such a format allows the guest to view all of the relevantinformation for a given channel in a geographically compressedstructure. This reduces the amount of scanning that the eye has toperform to capture all of the information for a given channel.Conversely, in a line-oriented program guide, a guest's eye would oftenhave to traverse the entire width of the TV in order to view all of theinformation provided for a given channel. Moreover, as a guest comparesdifferent channels, the guest's eyes can often move more quickly amongdifferent blocks (in a mosaic-oriented structure) than among differentlines (in a line-oriented structure).

If the programming system provides more channels than fit on one screen,the guest can scroll to another screen. In FIG. 2, the guest would movethe arrow key of the remote control down past the program section 220into the additional channel section 230. The additional channel 230 hasvisual indicators that more channels are available because it includesgraphics of six “down arrows” and the words “Additional Channels”. Inone implementation, the guest presses the down arrow key to move intothe additional channel section 230, upon which the additional section230 is highlighted. Then the guest presses the down arrow key again, andadditional channels are displayed on the screen.

Implementations vary in a variety of details, such as, for example, howmany additional channels are displayed upon one press of the down arrowkey. In one implementation, one new row of blocks is provided, and thebottom three rows of blocks are scrolled up to make room for the newblock at the bottom of the program section 220. This has the advantageof allowing the guest's eyes to remain focused on one part of thescreen, and the guest can press the down arrow key multiple times,examining one new row of blocks each time.

Another implementation provides a completely new set of sixteen blockseach time the down arrow key is pressed. This has the advantage ofallowing the guest to move more quickly through the program guide ifdesired by the guest.

Providing a completely new set of sixteen blocks also has the advantageof reducing the number of separate screens that the system has to beable to produce. For example, if there are only thirty-two channelsavailable, and if a system provides sixteen new channels on each programguide screen, then a system only needs two screen shots. In contrast, ifa system provides only one new row with every request for new additionalchannels, then at least five screen shots are needed. The five wouldinclude, for example, (i) channels 1-16, (ii) channels 5-20, (iii)channels 9-24, (iv) channels 13-28, and (v) channels 17-32.

Recall that in many implementations, as explained earlier, each possiblescreen is provided from the headend continuously on a separatesub-channel. In such systems, the appropriate screen is displayed bymerely selecting the corresponding sub-channel, without requiring a backchannel for requesting guide information from the headend.

Various implementations always provide the screen shot 200 when theguest presses the guide button. This also provides advantages oversystems that provide a guide screen that is oriented around the currentchannel. One manner of orienting around the current channel is to placethe current channel near the middle of the guide screen. A “middle”position is, for example, the position highlighted by the highlight box250 in FIG. 2. The advantage of always providing the screen shot 200 asa starting point is that fewer screens need to be prepared.

For example, if there are only thirty-two channels available, then onlytwo screen shots need to be prepared. In contrast, if the currentchannel were to be positioned near the middle of the screen, thenperhaps thirty-two screen shots would need to be prepared. This may beachieved, for example, by having the channels in a circular queue orbuffer for display, and always putting the current channel in adesignated “middle” block.

Clearly, the number of blocks in a program guide screen can be varied indifferent implementations. FIG. 2 illustrates sixteen blocks, butdifferent implementation use different numbers, such as, for example,twenty blocks (four rows of five blocks) or thirty-five blocks (fiverows of seven blocks). The exact number and layout also depends, invarious implementations, on the size of the display in the TV.

Referring to FIG. 3, a screen shot 300 is provided showing a secondimplementation of a program guide. The screen shot 300 displays the sameinformation as the screen shot 200, but provides different emphasis. Forexample, in the screen shot 300, the channel and program information ineach block is generally located in different relative positions than inthe screen shot 200. For example, in the block 240 it can be seen that:

(i) the channel name 242 is toward the right side of the block 240 inthe screen shot 300, but toward the left side of the block 240 in thescreen shot 200,

-   -   (ii) the channel number 244 is toward the left side of the block        240 in the screen shot 300, but toward the right side of the        block 240 in the screen shot 200,    -   (iii) the channel number 244 includes only a numeral in the        screen shot 300, but also includes the word “Channel” in the        screen shot 200, and (iv) the Playing Now identifier 246 is        toward the top of the block 240 in the screen shot 300, but        toward the bottom of the block 240 in the screen shot 200.

The screen shot 300 offers an advantage for guests that prefer to focuson the channel number. Because the channel number 244 of the screen shot300 is toward the left side of the blocks, and because the channelnumber is larger, a guest's eyes often will more easily identify thechannel number.

The implementations of FIGS. 2 and 3 provide alternate implementationsthat may suit different environments. For example, FIG. 2 is frequentlypreferred by hotels because FIG. 2 puts an emphasis on the channelname/logo. This is important for hotel guests that typically willrecognize the type of programming provided by a channel name/logo, butwill not know what type of programming is usually provided on any givenchannel number. FIG. 3, in contrast, is frequently preferred by studentor senior living facilities because FIG. 3 puts an emphasis on thechannel number. Longer-term residents, such as students or seniors, willtypically be familiar with the programming provided on the differentchannel numbers, and often prefer that mode of previewing availablecontent

The implementations of FIGS. 2 and 3 also allow a guest to scroll up invarious methods. In certain implementations, after the guest scrollsdown, then a second “additional channels” section will appear above thetop row of blocks of the channel section 220. That second additionalchannels section will indicate that more channels are available byscrolling up. The guest would typically access those channels in amanner analogous to scrolling down, by pressing the up arrow key on theremote.

Referring to FIG. 4, a process 400 is shown. The process 400 provides aflow diagram of an implementation of a process for providing a programguide screen in response to receiving a request.

The process 400 includes receiving a program guide request (410). In atleast one implementation, the operation 410 includes receiving a requestto present a program guide on a display. The program guide providesinformation about programs that are available on multiple channels.

The process 400 includes providing a mosaic program guide screen inresponse to the request (420). In at least one implementation, theoperation 420 includes providing, in response to receiving the request,a program guide screen. At least a portion of the provided program guidescreen is visually divided in both a horizontal direction and a verticaldirection into multiple sections. Each of the multiple sections includesinformation about programs available on respective distinct channels. Inparticular implementations, the multiple sections include sections whosepositions differ in at least the horizontal position (for example,blocks in the same row of section 220 in FIG. 2 or 3), or at least thevertical position (for example, blocks in the same column of section 220in FIG. 2 or 3), or both the horizontal position and the verticalposition (for example, the blocks for ABC and ESPN 2 in section 220 inFIG. 3).

In at least one implementation, the operation 410 is performed by a TV,a set-top box, or a computer, that receives a request from a guest. Theset-top box is, in various implementations, coupled to a TV in a hotelroom, with each room including a set-top box and a TV. The request isreceived when the guest presses the “guide” button on a remote control.

In various implementations, the operation 420 is performed by a TV, aset-top box, or a computer, providing a program guide screen such as thescreen shot 200 or the screen shot 300. The program guide screen isprovided, in certain implementations, from a set-top box to a TV foreventual display by the TV, or from a receiver unit of a TV to a screenof the TV. Other implementations provide the program guide screen from acomputer processing component to a computer display or to a TV. Invarious implementations, the program guide screen is provided to aremote display, such as, for example, a second screen, a tablet, or acell phone. The request for a program guide screen also comes, invarious implementations, from such a remote device.

Various implementations of the process 400 provide one or more otherfeatures, such as, for example:

-   -   One or more of the multiple sections of the mosaic program guide        screen includes an indication of a current-program that is the        program available at the current time on the channel.    -   One or more of the multiple sections of the mosaic program guide        screen includes an indication of a next-program that is the next        program available after the current-program on the channel.    -   One or more of the multiple sections of the mosaic program guide        omits reference to programs beginning after the next-programs on        the respective channels.    -   One or more of the multiple sections of the mosaic program guide        further includes an indication of a channel number.    -   One or more of the multiple sections of the mosaic program guide        further includes an indication of a channel provider.    -   The mosaic program guide screen that is provided is the same        regardless of what channel was most recently being displayed.    -   Providing the mosaic program guide screen includes (i) receiving        one or more signals that convey all possible program guide        screens that can be presented, (ii) selecting the program guide        screen, based on the received request, from the one or more        signals that convey all possible program guide screens;        and (iii) providing the selected program guide screen.    -   The request specifies a particular program guide screen based on        one or more of a programmed selection of a first program guide        screen to display, or the last channel viewed.    -   The multiple sections of the mosaic program guide screen form        rows and columns and the process 400 further includes (i)        receiving a scroll request to scroll the program guide, and (ii)        providing, in response to receiving the scroll request, an        updated program guide screen that gives an appearance of        scrolling.    -   Providing the updated program guide screen includes (i)        receiving one or more signals that convey all possible program        guide screens that can be presented, (ii) selecting the updated        program guide screen, based on the received scroll request, from        the one or more signals that convey all possible program guide        screens, and (iii) providing the selected updated program guide        screen.    -   The scroll request specifies a particular program guide screen        based on one or more of a programmed selection of a next program        guide screen to display, or a scroll input received from a user.    -   The process 400 further includes displaying the program guide on        the display.    -   The display is part of a television or a computer system.    -   The operations of receiving the request and providing the        program guide screen are performed by either a set top box, a        television, or a computer.

Referring to FIG. 5, a process 500 is shown. The process 500 provides aflow diagram of an implementation of a process for generating andproviding a program guide screen.

The process 500 includes generating a mosaic program guide screen (510).In at least one implementation, the operation 510 includes generating aprogram guide screen. At least a portion of the generated program guidescreen is visually divided in both a horizontal direction and a verticaldirection into multiple sections. Each of the multiple sections includesinformation about programs available on respective distinct channels. Inparticular implementations, the multiple sections include sections whosepositions differ in at least the horizontal position (for example,blocks in the same row of section 220 in FIG. 2 or 3), or at least thevertical position (for example, blocks in the same column of section 220in FIG. 2 or 3), or both the horizontal position and the verticalposition (for example, the blocks for ABC and ESPN 2 in section 220 inFIG. 3).

The process 500 includes providing the mosaic program guide screen(520). In at least one implementation, the operation 520 includesproviding a signal that conveys the program guide screen.

In at least one implementation, the operation 510 is performed by aportion of a headend system, such as by the receiver 110. The receiver110 of various implementations generates the program guide still imagesthat are provided as a program guide to the TVs 120. The receiver 110,of these implementations, also updates the program guide still imagesregularly to reflect new program names for “Now” and “Next” as well asto reflect program changes and/or re-mappings.

In various implementations, the operation 520 is performed by a portionof a headend system, such as by the receiver 110 or the modulator 140.The receiver 110 provides, for example, one or more digital files thatinclude the program guide still images for the mosaic program guide. Theone or more files are provided to the modulator 140. The modulator 140modulates each of the program guide screens onto a separate sub-channelof a signal, and provides the signal for distribution to the TVs in thehotel rooms.

In at least one implementation of the operation 520 that uses the system100, each program guide still image is modulated on a separate QAMsub-channel (such as, for example, 33-2, 33-3, 33-4, etc.). The numberof sub-channels would be determined, for example, by the number ofchannels at the property, the number of tiles (blocks) per screen, andwhether navigation to additional channels (see the additional channelsection 230) displayed one additional row or an entire new page.

Various implementations of the process 500 provide one or more otherfeatures, such as, for example:

-   -   One or more of the multiple sections of the mosaic program guide        screen includes an indication of a current-program that is the        program available at the current time on the channel, and an        indication of a next-program that is the next program available        after the current-program on the channel.    -   One or more of the multiple sections of the mosaic program guide        screen omits reference to programs beginning after the        next-programs on the respective channels.    -   One or more of the multiple sections of the mosaic program guide        screen includes an indication of a channel number.    -   One or more of the multiple sections of the mosaic program guide        screen includes an indication of a channel provider.    -   The process 500 further includes (i) generating a set of program        guide screens, including the program guide screen, that        collectively provide information about programs available on all        available channels, and (ii) providing one or more signals that        convey the set of program guide screens.    -   The one or more signals are provided concurrently, allowing a        video presentation system to receive the signals and to        determine which of the set of program guide screens to present        on a display device of the video presentation system.    -   The multiple sections form rows and columns and a second of the        program guide screens in the set of program guide screens gives        an appearance of scrolling with respect to the program guide        screen.    -   The set of program guide screens includes a specific program        guide screen. The specific program guide screen is configured to        be the first program guide screen displayed by a video        presentation system that receives the one or more signals. The        specific program guide screen will be first, regardless of what        channel the video presentation system was most recently        displaying.    -   The signal is provided to a video presentation system.

Various implementations of the processes 400 and 500 are performed by anapparatus that includes one or more processors collectively configuredto perform one or more of the process implementations described.Additionally, certain implementations of the processes 400 and 500 areperformed by a processor readable medium having stored thereoninstructions for causing one or more processors to collectively performone or more of the process implementations described.

Referring to FIG. 6, a screen shot 600 is shown that provides anotherimplementation of a program guide. The screen shot 600 includes amosaic-based program guide, and includes some of the information for ahighlighted channel in a banner at the top of the screen. The banneralso includes a video window showing the current video from thehighlighted channel.

More specifically, the screen shot 600 includes a banner section 610 anda program section 620. The banner section 610 includes a video window612, provided as a picture-in-a-picture, that displays the currentprogramming from a highlighted channel, as explained below. The bannersection 610 also includes:

-   -   A current program field 614, providing a textual description        that indicates (i) the name of the program currently playing on        the highlighted channel, (ii) the time during which the current        program is scheduled to play, and (iii) a rating of the current        program. Various implementations provide additional information        for a given program, or provide less. For example, rating        information is only displayed in certain implementations if that        information is provided by a broadcaster of a program.    -   A next program field 616, providing a textual description that        indicates (i) the name of the program playing next on the        highlighted channel, and (ii) the time during which the next        program is scheduled to play. Other implementations also provide        in the next program field 616 a rating of the next program.    -   A current program summary or description field 618, providing a        textual summary or description of the current program.

The program section 620 includes a mosaic-based program guide thatincludes a series of blocks providing program guide information forrespective programming channels. The program section 620 displays tenblocks at a time in two rows of five. A scroll bar 625 is used to scrollthrough additional rows, or screens, of blocks. Other implementationsuse down arrows and up arrows as an alternative, or in addition, to thescroll bar 625. Yet further implementations provide the scroll bar 625as an indicator of the approximate position in the mosaic-based programguide blocks (also referred to as a channel list), and not as a tool fornavigating (that is, a user does not scroll using the “scroll bar” ofsuch implementations).

A block 630 is shown with a highlight box 640, indicating that the block630 is highlighted in the program guide. The highlight box 640 istypically navigated using, for example, arrows keys of a remote control.

Each of the blocks includes particular pieces of information, as shownand discussed for the block 630. The block 630 includes:

-   -   A channel logo 632 that provides the logo of a particular        programming channel. The channel logo 632 is for HGTV, which is        the Home & Garden TV network.    -   A channel number 634 that provides the numeric value of the        particular programming channel. The channel number 634 includes        a primary channel and a secondary channel (also referred to as a        sub-channel), and is 81-2.

In other implementations, these two-part channel numbers that include aprimary and a secondary channel are set up as “Virtual Channels” fromthe headend. For example, in one implementation, a setup is performed atthe headend to assign channel 81-2 to show as channel 25, and to assignchannel 82-1 to show as channel 26. This allows the viewer to have asimpler, more recognizable channel ring.

-   -   A channel name 636 that provides a textual name of the        particular programming channel. The channel 636 is HGTVHD, which        indicates that the HGTV programming is available in HD (high        definition) on channel 81-2.

Other blocks in the screen shot 600 are for additional programmingchannels. The channels displayed in the screen shot 600 include CNN inHD on channel 80-1, ESPN in HD on channel 80-2, ESPN 2 in HD on channel81-1, Bravo in HD on channel 82-1, COM in HD on channel 82-2, AMC in HDon channel 83-1, A&E in HD on channel 83-2, The History Channel in HD onchannel 83-1, and the National Geographic Channel in HD on channel 84-2.

Referring to FIG. 7, a screen shot 700 is provided showing a displaythat occurs after a user selects the highlighted block 630 from thescreen shot 600. The TV leaves the program guide and tunes to thehighlighted channel, which is HGTV in HD on channel 81-2. Additionally,or alternatively, the screen shot 700 of various implementations appearsas a user is channel surfing and selects channel 81-2. The screen shot700 includes a banner section 710 and a content section 720.

The banner section 710 includes the channel logo 632, the channel number634, and the channel name 636. The banner section 710 also includes a“now showing” section 714 that includes the name of a program that iscurrently showing on the selected channel, which is 81-2 for the HGTVnetwork in HD. The current program is Designed to Sell. The bannersection 710 further includes a “next showing” section 716 that includesthe name of a program that will be playing after the currently playingprogram on the selected channel. The next program is House Hunters.

The banner section 710 of various implementations is also able todisplay the current program summary or description field 618. Certainimplementations, for example, provide this field 618 when an “INFO”button on a remote control is pressed.

The content section 720 shows the current program from the selectedchannel. In typical implementations, the banner section 710 disappearsafter a pre-defined period of time, after which the content section 720takes up the entire screen.

It should be clear that the implementations of FIGS. 6-7 have manypoints in common, and in distinction, with the implementations of FIGS.2 and 3. Many of the same pieces of information are present in each ofthe implementations.

The implementation of FIG. 6, however, includes a video window in theprogram guide to assist the viewer in making a program selectiondecision. The implementation of FIG. 6 also splits the information for agiven channel into two locations in the program guide screen, which arethe block 630 of the mosaic-based grid, and the banner 610 in the top ofthe screen. This structure assists viewers in making a two-tiereddecision that considers first the programming channel or network (forexample, HGTV), and second the actual programs that are scheduled onthat channel. The viewer makes the first decision using the mosaicstructure of the program section 620, and makes the second decisionusing the banner section 610.

Notably, the structure of the implementations of FIGS. 6-7 still allowsa viewer's eye to focus on geographically constrained areas, and doesnot require scanning an entire horizontal line to determine the relevantprogramming information. Of course, other implementations position theprogram section 620 and the banner section 610 in different locations ofthe screen.

Many variations of the implementation of FIG. 7 also provide the userwith the ability to pull up the banner section 710 at any time. Thus,for example, if a viewer is watching “Designed to Sell” on channel 81-2and wants to find out what is playing next, the viewer can, for example,hit an appropriate key (for example, an “INFO” button) on a remotecontrol to pull up the banner section 710. In various implementations,the banner section 710 will remain visible for a pre-determined lengthof time, or until the viewer presses the same key again on the remotecontrol. In this way, the viewer can find out what is playing nextwithout leaving the current program. Additionally, a viewer can pull upthe banner section 710 to be reminded of the currently selected channel.

Further, in various implementations as indicated above, the bannersection 710 automatically appears as a viewer channel surfs. Thus, thebanner section 710 is displayed for every new channel that a viewerselects.

The program guide of the implementation of FIG. 6 is provided, invarious implementations, by a headend or by a set-top box. In variousset-top box implementations, the set-top box constructs the entireprogram guide based on, for example, PSIP information. In variousimplementations, the set-top box either prepares each program guidescreen upon request by a user, or prepares some or all of the programguide content and layout ahead of time.

The program guide screen that is first displayed upon a user request canbe different, depending on what channel the user had most recentlyselected, or can be the same regardless of what channel the user hadmost recently selected for viewing.

In various headend implementations, in which a headend provides theprogram guide of FIG. 6, the program guide screens are provided from theheadend as still images to a TV or a STB. Separate still images aregenerated, in certain implementations, for displaying, or notdisplaying, the summary or description information of the field 618.Each still image also has a window (the window 612) into which theheadend inserts video from the relevant channel. Other implementationsallow the STB or the TV to insert the video from the relevant channelinto the window 612.

Typical implementations of FIGS. 6-7 allow the fields for the title ofthe “Now” program (614, 714), and the fields for the title of the “Next”program (616, 716) to extend most of the way toward the right edge ofthe screen. This will generally provide the advantage of allowing morespace, as compared to the implementations of FIGS. 2-3, for the titlesof the “Now” program and the “Next” program.

Additionally, various implementations provide a signal, or a signalstructure, that includes a program guide screen section. The programguide screen section conveys a program guide screen for which at least aportion is visually divided in both a horizontal direction and avertical direction into multiple sections. Multiple sections in both thehorizontal direction and the vertical direction include informationabout programs available on respective distinct channels. Various otherimplementations provide a processor readable medium that stores such asignal or a signal structure.

Various implementations include a scrolling feature. Implementations canprovide the scrolling upon request of the guest, for example, by theguest pressing arrow keys on a remote. Other implementations include aself-scrolling feature that automatically scrolls through the availablechannels when the program guide is being displayed. Whether thescrolling is manual, automatic, or some combination, variousimplementations provide quick display of available channels to a guestbecause there are relatively few screens required to present all of theavailable channels.

This application provides multiple figures, including the block diagramsof FIG. 1, the screen shots of FIGS. 2-3, and flow diagrams of FIGS.4-5. Each of these figures provides disclosure for a variety ofimplementations.

-   -   For example, the block diagram certainly describes an        interconnection of functional blocks of an apparatus or system.        However, it should also be clear that the block diagram provides        a description of a process flow. As an example, FIG. 1 also        presents a flow diagram for performing the functions of the        blocks of FIG. 1. For example, the block for the receiver 110        also represents the operation of receiving a signal that        includes programs, and the block for the modulator 140 also        represents the operation of receiving, for example, an MPEG-2        transport stream and modulating the MPEG-2 transport stream.        Other blocks of FIG. 1 are similarly interpreted in describing        this flow process.    -   For example, the screen shots of FIGS. 2-3 certainly describe an        output screen shown to a user. However, it should also be clear        that the screen shots describe a flow process for interacting        with the user. For example, FIG. 2 also describes a process of        presenting a user with a selection of programming channels, and        providing the user with a mechanism for selecting one of the        channels. Further, FIG. 2 can also be interpreted in a similar        fashion to describe a flow process.    -   For example, the processes of FIGS. 4-5 certainly describe a        flow process. However, it should also be clear that the flow        diagrams provide an interconnection between functional blocks of        a system or apparatus for performing the flow process. For        example, reference element 510 also represents a block for        performing the function of generating a mosaic program guide        screen. Other blocks of FIG. 5 are similarly interpreted in        describing this system/apparatus. Further, FIG. 4 can also be        interpreted in a similar fashion to describe a system or        apparatus.

Various implementations have been described that receive satellitetelevision signals, and then provide programming channels on coaxialcable. Other implementations use different transmission technologies andmedia, however. For example, channels can be received on one or more ofa terrestrial broadcast link, a coaxial cable, or a fiber optic cable,and can be ATSC-based or Internet-based. Programming channels can bedistributed from a headend over a wireless connection or a wiredconnection, and can be ATSC-based or Internet-based.

We have thus provided a number of implementations. Variousimplementations provide a block-based program guide for a user. Itshould be noted, however, that variations of the describedimplementations, as well as additional applications, are contemplatedand are considered to be within our disclosure. Additionally, featuresand aspects of described implementations may be adapted for otherimplementations.

Reference to “one embodiment” or “an embodiment” or “one implementation”or “an implementation” of the present principles, as well as othervariations thereof, mean that a particular feature, structure,characteristic, and so forth described in connection with the embodimentis included in at least one embodiment of the present principles. Thus,the appearances of the phrase “in one embodiment” or “in an embodiment”or “in one implementation” or “in an implementation”, as well any othervariations, appearing in various places throughout the specification arenot necessarily all referring to the same embodiment.

Additionally, this application or its claims may refer to “determining”various pieces of information. Determining the information may includeone or more of, for example, estimating the information, calculating theinformation, predicting the information, or retrieving the informationfrom memory.

Further, this application or its claims may refer to “accessing” variouspieces of information. Accessing the information may include one or moreof, for example, receiving the information, retrieving the information(for example, memory), storing the information, processing theinformation, transmitting the information, moving the information,copying the information, erasing the information, calculating theinformation, determining the information, predicting the information, orestimating the information.

A video presentation system is included in various implementations. Sucha system can take many forms, depending on the implementation. Variousvideo presentation systems include, for example, a TV, a TV incombination with a set-top box, a computer, or a computer in combinationwith a set-top box.

It is to be appreciated that the use of any of the following “/”,“and/or”, and “at least one of”, for example, in the cases of “NB”, “Aand/or B” and “at least one of A and B”, is intended to encompass theselection of the first listed option (A) only, or the selection of thesecond listed option (B) only, or the selection of both options (A andB). As a further example, in the cases of “A, B, and/or C” and “at leastone of A, B, and C” and “at least one of A, B, or C”, such phrasing isintended to encompass the selection of the first listed option (A) only,or the selection of the second listed option (B) only, or the selectionof the third listed option (C) only, or the selection of the first andthe second listed options (A and B) only, or the selection of the firstand third listed options (A and C) only, or the selection of the secondand third listed options (B and C) only, or the selection of all threeoptions (A and B and C). This may be extended, as readily apparent byone of ordinary skill in this and related arts, for as many itemslisted.

Additionally, many implementations may be implemented in a processor,such as, for example, a post-processor or a pre-processor. Variousprocessing modules discussed in this application do, in variousimplementations, include multiple processors (sub-processors) that arecollectively configured to perform, for example, a process, a function,or an operation. For example, the receiver 110, as well as otherprocessing components, is, in various implementations, composed ofmultiple sub-processors that are collectively configured to perform theoperations of that component.

The implementations described herein may be implemented in, for example,a method or a process, an apparatus, a software program, a data stream,or a signal. Even if only discussed in the context of a single form ofimplementation (for example, discussed only as a method), theimplementation of features discussed may also be implemented in otherforms (for example, an apparatus or program). An apparatus may beimplemented in, for example, appropriate hardware, software, andfirmware. The methods may be implemented in, for example, an apparatussuch as, for example, a processor, which refers to processing devices ingeneral, including, for example, a computer, a microprocessor, anintegrated circuit, or a programmable logic device. Processors alsoinclude communication devices, such as, for example, computers, cellphones, tablets, portable/personal digital assistants (“PDAs”), andother devices that facilitate communication of information betweenend-users.

Implementations of the various processes and features described hereinmay be embodied in a variety of different equipment or applications.Examples of such equipment include an encoder, a decoder, apost-processor, a pre-processor, a video coder, a video decoder, a videocodec, a web server, a television, a set-top box, a router, a gateway, amodem, a laptop, a personal computer, a tablet, a cell phone, a PDA, andother communication devices. As should be clear, the equipment may bemobile and even installed in a mobile vehicle.

Additionally, the methods may be implemented by instructions beingperformed by a processor, and such instructions (and/or data valuesproduced by an implementation) may be stored on a processor-readablemedium such as, for example, an integrated circuit, a software carrieror other storage device such as, for example, a hard disk, a compactdiskette (“CD”), an optical disc (such as, for example, a DVD, oftenreferred to as a digital versatile disc or a digital video disc), arandom access memory (“RAM”), or a read-only memory (“ROM”). Theinstructions may form an application program tangibly embodied on aprocessor-readable medium. Instructions may be, for example, inhardware, firmware, software, or a combination. Instructions may befound in, for example, an operating system, a separate application, or acombination of the two. A processor may be characterized, therefore, as,for example, both a device configured to carry out a process and adevice that includes a processor-readable medium (such as a storagedevice) having instructions for carrying out a process. Further, aprocessor-readable medium may store, in addition to or in lieu ofinstructions, data values produced by an implementation.

As will be evident to one of skill in the art, implementations mayproduce a variety of signals formatted to carry information that may be,for example, stored or transmitted. The information may include, forexample, instructions for performing a method, or data produced by oneof the described implementations. For example, a signal may be formattedto carry as data the channel programming information for the channelsavailable on a system. Such a signal may be formatted, for example, asan electromagnetic wave (for example, using a radio frequency portion ofspectrum) or as a baseband signal. The formatting may include, forexample, encoding a data stream and modulating a carrier with theencoded data stream. The information that the signal carries may be, forexample, analog or digital information. The signal may be transmittedover a variety of different wired or wireless links, as is known. Thesignal may be stored on a processor-readable medium.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made. For example,elements of different implementations may be combined, supplemented,modified, or removed to produce other implementations. Additionally, oneof ordinary skill will understand that other structures and processesmay be substituted for those disclosed and the resulting implementationswill perform at least substantially the same function(s), in at leastsubstantially the same way(s), to achieve at least substantially thesame result(s) as the implementations disclosed. Accordingly, these andother implementations are contemplated by this application.

1. A method comprising: generating a program guide screen, at least aportion of which is visually divided in both a horizontal direction anda vertical direction into multiple sections, wherein each of themultiple sections includes information about programs available onrespective distinct channels; and providing a signal that conveys theprogram guide screen.
 2. The method of claim 1 wherein the multiplesections each include an indication of a current-program that is theprogram available at the current time on the channel, and an indicationof a next-program that is the next program available after thecurrent-program on the channel.
 3. The method of claim 2 wherein themultiple sections omit reference to programs beginning after thenext-programs on the respective channels.
 4. The method of claim 2wherein the multiple sections each further include an indication of achannel number, and an indication of a channel provider.
 5. The methodof any of claim 1 further comprising: generating a set of program guidescreens, including the program guide screen, that collectively provideinformation about programs available on all available channels; andproviding one or more signals that convey the set of program guidescreens.
 6. The method of claim 5 wherein the one or more signals areprovided concurrently, allowing a video presentation system to receivethe signals and to determine which of the set of program guide screensto present on a display device of the video presentation system.
 7. Themethod of any of claim 5 wherein the multiple sections form rows andcolumns and a second of the program guide screens in the set of programguide screens gives an appearance of scrolling with respect to theprogram guide screen.
 8. The method of any of claim 5 wherein the set ofprogram guide screens includes a specific program guide screen that isconfigured to be the first program guide screen displayed by a videopresentation system that requests program guide information in the formof a program guide screen and that receives the one or more signals,regardless of what channel the video presentation system was mostrecently displaying.
 9. The method of any of claim 8 wherein the signalis provided to a video presentation system.
 10. An apparatus configuredto perform one or more of the methods of claim
 9. 11. (canceled)
 12. Theapparatus of claim 10 wherein the apparatus comprises: means forgenerating a program guide screen, at least a portion of which isvisually divided in both a horizontal direction and a vertical directioninto multiple sections, wherein each of the multiple sections includesinformation about programs available on respective distinct channels;and means for providing a signal that conveys the program guide screen.13. A processor readable medium having stored thereon instructions forcausing one or more processors to collectively perform one or more ofthe methods of claim
 9. 14. A signal comprising: a program guide screensection, conveying a program guide screen for which at least a portionis visually divided in both a horizontal direction and a verticaldirection into multiple sections, wherein each of the multiple sectionsincludes information about programs available on respective distinctchannels.
 15. A signal structure comprising: a program guide screensection, conveying a program guide screen for which at least a portionis visually divided in both a horizontal direction and a verticaldirection into multiple sections, wherein each of the multiple sectionsincludes information about programs available on respective distinctchannels.
 16. A processor readable medium having stored thereon a signalstructure, the signal structure comprising: a program guide screensection, conveying a program guide screen for which at least a portionis visually divided in both a horizontal direction and a verticaldirection into multiple sections, wherein each of the multiple sectionsincludes information about programs available on respective distinctchannels.